<?php
include_once("admin/includes/util.php");
class contact {
	var $db;
 	var $smarty;	
	public function __construct($db, $smarty,$page='',$cat='',$product='') {
		$this->db = $db;
		$this->smarty = $smarty;
		$this->page = $page;
		$this->cat = $cat;
		$this->product = $product;
	}
	
	public function main() {
		if ($_POST['act'] == 'sendcontactemail'){
			$msg = $this->validate();	
			if($msg == ""){
				$from = $_POST['email'];
				$to = "info@trangdaiad.com";
				$subject = "Contact Email";
				$message = "<b>Họ tên:</b>  " . $_POST['name'] .  "<br />" .
							"<b>Điện thoại:</b>  " . $_POST['phone'] .  "<br />" .
						   "<b>E-mail:</b>  " . $_POST['email'] . "<br />" .
						   "<b>Thông tin:</b>  " . $_POST['information'];
				$header = "Content-type: text/html\r\nFrom: $from\r\nReply-to: $from";
				
				if (mail($to, $subject, $message, $header)){
					$type = array('ID' => 0,'message' => "Phản hồi của bạn đã được gởi. Xin cảm ơn");
				} 
				else 
				{
					if($_SESSION["LC_ALL"] == "en")
					{
						$type = array('ID' => -1, 
									  'message' => "Error occurred while sending email. Please try again.");
					}
					else
					{
						$type = array('ID' => -1, 
									  'message' => "Lỗi trong quá trình gửi email. Vui lòng thử lại.");
					}
				}
	
			}
			else
			{
				$type = array('ID' => -1, 
							  'message' => $msg);	
			}
			echo array2json($type);	
		}
		
		$page = FIN_pageBean::getPageById($this->db,$_SESSION['LC_ALL'],'7',"");
		$this->smarty->assign('contactactive','active');
		$this->smarty->assign("CONTACT", $page);	
		$this->smarty->display("contact.tpl");	
	}
	
	public function check_email_address($email) 
	{
    	// First, we check that there's one @ symbol, and that the lengths are right
    	if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) 
    	{
    	// Email invalid because wrong number of characters in one section, or wrong number of @ symbols.
    	return false;
    	}
    	// Split it into sections to make life easier
    	$email_array = explode("@", $email);
    	$local_array = explode(".", $email_array[0]);
   		for ($i = 0; $i < sizeof($local_array); $i++) 
   		{
   			if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) 
   			{
   			return false;
   			}
   		}
   		if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1]))  // Check if domain is IP. If not, it should be valid domain name
   		{
   			$domain_array = explode(".", $email_array[1]);
   			if (sizeof($domain_array) < 2) 
   			{
   			return false; // Not enough parts to domain
   			}
   			for ($i = 0; $i < sizeof($domain_array); $i++) 
   			{
   				if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) 
   				{
   				return false;
   				}
   			}
   		}
   		return true;
	}
	
	public function validate(){
		if($_POST['name'] == "")
		{
			if($_SESSION["LC_ALL"] == "en")
			{
				$msg = "Name field could not be empty .";
			}
			else
			{
				$msg = "Vui lòng nhập họ tên của bạn .";
			}
		}
		
		if($_POST['email'] == "")
		{
			if($_SESSION["LC_ALL"] == "en")
			{
				if($msg != "") $msg .= "<br />";
				$msg .= "Email address field could not be empty .";
			}
			else
			{
				if($msg != "") $msg .= "<br />";
				$msg .= "Vui lòng nhập địa chỉ email của bạn .";
			}
		}
		if($_POST['email'] != "" && $this->check_email_address($_POST['email']) == false)
		{
			if($_SESSION["LC_ALL"] == "en")
			{
				if($msg != "") $msg .= "<br />";
				$msg .= "Invalid email address .";
			}
			else
			{
				if($msg != "") $msg .= "<br />";
				$msg .= "Địa chỉ email không hợp lệ .";
			}
		}
		if(isset($_POST['phone']) && $_POST['phone'] != "" && (strlen($_POST['phone']) < 6 || (!preg_match('/^[\(]?(\d{0,3})[\)]?[\s]?[\-]?(\d{3})[\s]?[\-]?(\d{4})[\s]?[x]?(\d*)$/', $_POST['phone'])))){
			if($_SESSION["LC_ALL"] == "en")
			{
				if($msg != "") $msg .= "<br />";
				$msg .= "Invalid telephone number.";
			}
			else
			{
				if($msg != "") $msg .= "<br />";
				$msg .= "Số điện thoại không hợp lệ.";
			}
		}
		if($_POST['information'] == "")
		{
			if($_SESSION["LC_ALL"] == "en")
			{
				if($msg != "") $msg .= "<br />";
				$msg .= "Information field could not be empty .";
			}
			else
			{
				if($msg != "") $msg .= "<br />";
				$msg .= "Vui lòng nhập thông tin chi tiết .";
			}
		}
		
		
		
		return $msg;
	}
	
}
?>
